<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Produto_model extends CI_Model {
	
	public function get_all(){
		$singem = $this->load->database('singem', TRUE);
		$singem->order_by("descricao", "asc");
		return $singem->get('Cad_Produtos')->result();
	}
	
	public function get_byid($id=NULL){
		if ($id != NULL){
			$singem = $this->load->database('singem', TRUE);
			$singem->where('Produto', $id);
			$singem->limit(1);
			$singem->order_by("descricao", "asc");
			
			return $singem->get('Cad_Produtos')->row();
		} else {
			return false;
		}
	}
	
	public function get_byid_tabela_preco($id=NULL, $tabela_preco=NULL){
		if ($id != NULL){
			$singem = $this->load->database('singem', TRUE);

			if ($tabela_preco == '00'){
				//$singem->select('produto, descricao, unidade, preco_tabela as preco');
				$query = $singem->query("SELECT
											produto, descricao, unidade, preco_tabela AS preco,
											(SELECT SUM(Quantidade)
												FROM Estoque E
												WHERE E.Produto = P1.Produto
												AND Cancelado = 'F') AS EstoqueAtual
										FROM Cad_Produtos P1
										WHERE Produto = $id
										ORDER BY descricao ASC
									");
			} else {
				//$singem->select('produto, descricao, unidade, precotabela'.$tabela_preco.' as preco');
				$query = $singem->query("SELECT
											produto, descricao, unidade, precotabela'.$tabela_preco.' AS preco,
											(SELECT SUM(Quantidade)
											FROM Estoque E
											WHERE E.Produto = P1.Produto
											AND Cancelado = 'F') AS EstoqueAtual
										FROM Cad_Produtos P1
										WHERE Produto = $id
										ORDER BY descricao ASC
									");
			}
			//$singem->where('Produto', $id);
			//$singem->limit(1);
				
			//return $singem->get('Cad_Produtos')->row();
			return $query->row();
		} else {
			return false;
		}
	}
	
	public function get_all_produtos_select_campos($tabela_preco=NULL){
		if ($tabela_preco != NULL){
			$singem = $this->load->database('singem', TRUE);
			
			if ($tabela_preco == '00'){
				//$singem->select('produto, descricao, unidade, preco_tabela as preco');
				$query = $singem->query("SELECT 
											produto, descricao, unidade, preco_tabela AS preco,
											(SELECT SUM(Quantidade) 
												FROM Estoque E 
												WHERE E.Produto = P1.Produto 
												AND Cancelado = 'F') AS EstoqueAtual
										FROM Cad_Produtos P1 
										ORDER BY descricao ASC
									");
			} else {
				//$singem->select('produto, descricao, unidade, precotabela'.$tabela_preco.' as preco');
				$query = $singem->query("SELECT 
											produto, descricao, unidade, precotabela'.$tabela_preco.' AS preco,
											(SELECT SUM(Quantidade) 
												FROM Estoque E 
												WHERE E.Produto = P1.Produto 
												AND Cancelado = 'F') AS EstoqueAtual
										FROM Cad_Produtos P1 
										ORDER BY descricao ASC
									");
			}
			//return $singem->get('Cad_Produtos')->result();
			return $query->result();
		} else {
			return FALSE;			
		}
	}
	
	public function get_top10(){
		$singem = $this->load->database('singem', TRUE);
		$singem->where('Custo >',10);
		$singem->limit(6);
		$singem->order_by("descricao", "asc");
		
		return $singem->get('Cad_Produtos')->result();
	}
	
	public function do_adicionar($dados=NULL){
		if ($dados != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->insert('tbl_produto', $dados);
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
	public function do_excluir($produto=NULL){
		if ($dados != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('pro_codigo', $produto->pro_codigo);
			$alegroPedidos->where('ped_codigo', $produto->ped_codigo);
			$alegroPedidos->delete('tbl_produto');
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
}